/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Gestores;

import Controller.EntityEquipoJpaController;
import Entities.EntityEquipo;
import Negocio.Equipo;
import java.util.ArrayList;
import java.util.Iterator;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

/**
 *
 * @author Nico
 */
public class GestorEquipo 
{
    public boolean agregarEquipo(Equipo e)
    {
        EntityManagerFactory emf= Persistence.createEntityManagerFactory("persistence");//del XML saco ese String
        EntityEquipoJpaController controllerEquipo= new EntityEquipoJpaController(emf);
        EntityEquipo equipo= new EntityEquipo(e.getNombre(),e.getCantJugadores());
        try
        {
           controllerEquipo.create(equipo);
           return true;
        }
        catch (Exception ex)
        {
           return false;
        }
    } 
    
    public boolean existeEquipo(int id)
    {
        Equipo e;
        EntityManagerFactory emf= Persistence.createEntityManagerFactory("persistence");//del XML saco ese String
        EntityEquipoJpaController controllerEquipo= new EntityEquipoJpaController(emf);
        ArrayList<EntityEquipo> lista= new ArrayList<EntityEquipo>(controllerEquipo.findEntityEquipoEntities()); 
        Iterator iter= lista.iterator();
        while(iter.hasNext())
        {
          EntityEquipo equipo= (EntityEquipo)iter.next();
          if(equipo.getId()==id)
          {
             return true;
          }
        }
        return false;
    }
    public boolean existeEquipo(String nombre)
    {
        Equipo e;
        EntityManagerFactory emf= Persistence.createEntityManagerFactory("persistence");//del XML saco ese String
        EntityEquipoJpaController controllerEquipo= new EntityEquipoJpaController(emf);
        ArrayList<EntityEquipo> lista= new ArrayList<EntityEquipo>(controllerEquipo.findEntityEquipoEntities()); 
        Iterator iter= lista.iterator();
        while(iter.hasNext())
        {
          EntityEquipo equipo= (EntityEquipo)iter.next();
          if(equipo.getNombre().compareTo(nombre)==0)
          {
             return true;
          }
        }
        return false;
    }
    
    public Equipo getEquipo(int id)
    {
        Equipo e=null;
        EntityManagerFactory emf= Persistence.createEntityManagerFactory("persistence");//del XML saco ese String
        EntityEquipoJpaController controllerEquipo= new EntityEquipoJpaController(emf);
        ArrayList<EntityEquipo> lista= new ArrayList<EntityEquipo>(controllerEquipo.findEntityEquipoEntities()); 
        Iterator iter= lista.iterator();
        while(iter.hasNext())
        {
          EntityEquipo equipo= (EntityEquipo)iter.next();
          if(equipo.getId()==id)
          {
              e= new Equipo(equipo.getNombre(),equipo.getCantJugadores());
              return e;
          }
        }
        return e;
    }
    
    public ArrayList<EntityEquipo> getTodosLosEquipos()
    {
         EntityManagerFactory emf= Persistence.createEntityManagerFactory("persistence");//del XML saco ese String
         EntityEquipoJpaController controllerEquipo= new EntityEquipoJpaController(emf);
         ArrayList<EntityEquipo> lista= new ArrayList<EntityEquipo>(controllerEquipo.findEntityEquipoEntities()); 
         Iterator iter= lista.iterator();
         return lista;
    }
    
//    public Equipo getEquipo(String nombre)
//    {
//        Equipo e=null;
//        EntityManagerFactory emf= Persistence.createEntityManagerFactory("persistence");//del XML saco ese String
//        EntityEquipoJpaController controllerEquipo= new EntityEquipoJpaController(emf);
//        ArrayList<EntityEquipo> lista= new ArrayList<EntityEquipo>(controllerEquipo.findEntityEquipoEntities()); 
//        Iterator iter= lista.iterator();
//        while(iter.hasNext())
//        {
//          EntityEquipo equipo= (EntityEquipo)iter.next();
//          if(equipo.getNombre().compareTo(nombre)==0)
//          {
//              e= new Equipo(equipo.getNombre(),equipo.getCantJugadores());
//              return e;
//          }
//        }
//        return e;
//    }
    public EntityEquipo getEquipo(String nombre)
    {
        Equipo e=null;
        EntityEquipo equipo=null;
        EntityManagerFactory emf= Persistence.createEntityManagerFactory("persistence");//del XML saco ese String
        EntityEquipoJpaController controllerEquipo= new EntityEquipoJpaController(emf);
        ArrayList<EntityEquipo> lista= new ArrayList<EntityEquipo>(controllerEquipo.findEntityEquipoEntities()); 
        Iterator iter= lista.iterator();
        while(iter.hasNext())
        {equipo= (EntityEquipo)iter.next();
          if(equipo.getNombre().compareTo(nombre)==0)
          {
              return equipo;
          }
        }
        return equipo;
    }
    
    
    
    public boolean actualizarEquipo(int id, EntityEquipo equipo)
    {
      try
      {
         EntityManagerFactory emf= Persistence.createEntityManagerFactory("persistence");//del XML saco ese String
         EntityEquipoJpaController controllerEquipo= new EntityEquipoJpaController(emf);
         controllerEquipo.updateEquipo(id, equipo);
         return true;
      }
      catch(Exception e)
      {
        return false;
      }
    }
    
    public boolean eliminarEquipo(int id, EntityEquipo equipo)
    {
       try
       {
         EntityManagerFactory emf= Persistence.createEntityManagerFactory("persistence");//del XML saco ese String
         EntityEquipoJpaController controllerEquipo= new EntityEquipoJpaController(emf);
         //controllerEquipo.deleteEquipo(id, equipo);
         controllerEquipo.deleteEquipo(id);
         return true;
       }
       catch(Exception e)
       {
         return false;
       }
    }
}
